package cn.edu.nchu.fragmentdemo.bean;

import android.content.Context;

import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.misc.BaseDaoEnabled;
import com.j256.ormlite.table.DatabaseTable;

import cn.edu.nchu.fragmentdemo.bean.Marker;
import cn.edu.nchu.fragmentdemo.db.dao.MarkerEntityDao;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Wendy
 * @time 2019/12/22
 * @Email ${EMAIL}
 */
@DatabaseTable(tableName = "marker_entity")
public class MarkerEntity extends BaseDaoEnabled implements Serializable {
    @DatabaseField(columnName = "id", generatedId = true)
    private Integer id;

    @DatabaseField(columnName = "target_id")
    private Integer targetId;

    @DatabaseField(columnName = "uk")
    private String uk;

    @DatabaseField(columnName = "marker_id", canBeNull = false, foreign = true)
    private Marker marke;
    @DatabaseField(columnName = "name")
    private String name;
    @DatabaseField(columnName = "latitude")
    private Double latitude;
    @DatabaseField(columnName = "longitude")
    private Double longitude;
    @DatabaseField(columnName = "height")
    private Double height;
    @DatabaseField(columnName = "movement_state")
    private Integer movementState;
    @DatabaseField(columnName = "movement_forward")
    private Double movementForward;
    @DatabaseField(columnName = "movement_speed")
    private Double movementSpeed;
    @DatabaseField(columnName = "coordinate_type")
    private Integer coordinateType;
    @DatabaseField(columnName = "threaten_level")
    private Integer threatenLevel;
    @DatabaseField(columnName = "threaten_class")
    private Integer threatenClass;
    @DatabaseField(columnName = "threaten_way")
    private Integer threatenWay;
    @DatabaseField(columnName = "num")
    private Integer num;
    @DatabaseField(columnName = "icon_set")
    private Integer iconSet;
    @DatabaseField(columnName = "icon_group")
    private Integer iconGroup;
    @DatabaseField(columnName = "icon_tag")
    private Integer iconTag;
    @DatabaseField(columnName = "pop_type")
    private String popType;
    @DatabaseField(columnName = "external_info")
    private String externalInfo;
    @DatabaseField(columnName = "time")
    private Date time;

    @DatabaseField(columnName = "first_level")
    private Integer firstLevel;
    //0:默认，来自平板手动；1来自gps；2：来自观瞄
    @DatabaseField(columnName = "from")
    private Integer from;

    public MarkerEntity() {

    }

    public MarkerEntity(Context context) {
        setDao(MarkerEntityDao.getmarkerEntityDao(context));
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUk() {
        return uk;
    }

    public void setUk(String uk) {
        this.uk = uk;
    }

    public Marker getMarke() {
        return marke;
    }

    public void setMarke(Marker marke) {
        this.marke = marke;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getLatitude() {
        return latitude;
    }

    public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }

    public Double getLongitude() {
        return longitude;
    }

    public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }

    public Double getHeight() {
        return height;
    }

    public void setHeight(Double height) {
        this.height = height;
    }

    public Integer getMovementState() {
        return movementState;
    }

    public void setMovementState(Integer movementState) {
        this.movementState = movementState;
    }

    public Double getMovementForward() {
        return movementForward;
    }

    public void setMovementForward(Double movementForward) {
        this.movementForward = movementForward;
    }

    public Double getMovementSpeed() {
        return movementSpeed;
    }

    public void setMovementSpeed(Double movementSpeed) {
        this.movementSpeed = movementSpeed;
    }

    public Integer getCoordinateType() {
        return coordinateType;
    }

    public void setCoordinateType(Integer coordinateType) {
        this.coordinateType = coordinateType;
    }

    public Integer getThreatenLevel() {
        return threatenLevel;
    }

    public void setThreatenLevel(Integer threatenLevel) {
        this.threatenLevel = threatenLevel;
    }

    public Integer getThreatenClass() {
        return threatenClass;
    }

    public void setThreatenClass(Integer threatenClass) {
        this.threatenClass = threatenClass;
    }

    public Integer getThreatenWay() {
        return threatenWay;
    }

    public void setThreatenWay(Integer threatenWay) {
        this.threatenWay = threatenWay;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public Integer getIconTag() {
        return iconTag;
    }

    public void setIconTag(Integer iconTag) {
        this.iconTag = iconTag;
    }

    public String getExternalInfo() {
        return externalInfo;
    }

    public void setExternalInfo(String externalInfo) {
        this.externalInfo = externalInfo;
    }

    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }

    public Integer getIconSet() {
        return iconSet;
    }

    public void setIconSet(Integer iconSet) {
        this.iconSet = iconSet;
    }

    public Integer getIconGroup() {
        return iconGroup;
    }

    public void setIconGroup(Integer iconGroup) {
        this.iconGroup = iconGroup;
    }

    public String getPopType() {
        return popType;
    }

    public void setPopType(String popType) {
        this.popType = popType;
    }

    public Integer getTargetId() {
        return targetId;
    }

    public void setTargetId(Integer targetId) {
        this.targetId = targetId;
    }

    public Integer getFirstLevel() {
        return firstLevel;
    }

    public void setFirstLevel(Integer firstLevel) {
        this.firstLevel = firstLevel;
    }

    public Integer getFrom() {
        return from;
    }

    public void setFrom(Integer from) {
        this.from = from;
    }
}
